Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Perf: Implement flag driven update dependency graph #103

Merged
merged 6 commits into from
Dec 11, 2023

Conversation

frank-weindel
Copy link
Collaborator

@frank-weindel frank-weindel commented Dec 7, 2023

dependency-graph

Updates to cached calculated data within a CoreNode is now updated according to the above dependency graph.

New optimizations:

  • Positioning, sizing and scaling properties now set an updateType (formerly recalculationType) flag to indicate an update is needed to their corresponding matrix.
  • Children are not visited unless their updateType is flagged with Children
  • Any updates to a CoreNode efficiently flags all ancestors up to the root with Children
  • Children are not visited if their own updateType is 0.
  • World Alpha is now update cached.
  • Premultiplied Alpha-merged colors are now update cached.
  • Calculated Z-Index is now update cached.

Other changes:

  • TypeDocs output folder renamed from docs to typedocs.
  • New docs folder checked in containing manually written documentation.
  • Added documentation about the Node Dependency Graph

On a RPI test, this took a resolution=1080, multiplier=1, overlay=false stress test from about 40-41 fps to 42 fps.

@frank-weindel frank-weindel added the do not merge Do not merge this PR. It may not be ready or depends on another PR to be merged first. label Dec 7, 2023
@frank-weindel frank-weindel added the performance Performance enhancement label Dec 7, 2023
Base automatically changed from feat/resolution-ppr-multiplier-options to feat/always-start-dev-mode-with-host December 7, 2023 03:46
@frank-weindel frank-weindel changed the base branch from feat/always-start-dev-mode-with-host to main December 7, 2023 03:47
@frank-weindel
Copy link
Collaborator Author

There's a bug with alpha I need to look into it seems

@frank-weindel frank-weindel removed the do not merge Do not merge this PR. It may not be ready or depends on another PR to be merged first. label Dec 8, 2023
@frank-weindel frank-weindel merged commit d6b0d7d into main Dec 11, 2023
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
performance Performance enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant